﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ControlStock.Dominio;
using ControlStock.Servicio;

namespace ControlStock
{
    public partial class Altamodificacionusuarios : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["id_Usuario"] == null)
                Response.Redirect("index.aspx");
            if (Session["Tipo_Usuario"] == "Administrador")
                btnprincipal.Visible = true;
            
            
            if (!Page.IsPostBack)
            {
                ddlestado.DataBind();
                ddlusuario.DataBind();
                
                if ((Request["id"] != null)|| (Session["Tipo_Usuario"] == "Base"))
                       {
                        UsuarioServicio serviciousuario = new UsuarioServicio();
                        Usuario usu =new Usuario();
                       
                        if (Session["Tipo_Usuario"] != "Base")
                        {
                            usu = serviciousuario.Buscar(Convert.ToInt32((Request["id"])));
                        }
                        else
                        {
                            usu = serviciousuario.Buscar(Convert.ToInt32((Session["id_Usuario"])));
                            ddlestado.Visible = false;
                            ddlusuario.Visible = false;
                           
                            ddlusuario.SelectedIndex = ddlusuario.Items.IndexOf(ddlusuario.Items.FindByValue("1"));
                           
                        }
                        hdfidusuario.Value=usu.Id_Usu.ToString();
                        txtpassword.Text=usu.Pass_Usu.ToString();
                        txtconfirmar.Text = usu.Pass_Usu.ToString();
                        txtnombre.Text = usu.Nombre_Usu.ToString();
                        txttelefono.Text = usu.Telefono_Usu.ToString();
                        txtcelular.Text = usu.Celular_Usu.ToString();
                        txtmail.Text = usu.Mail_Usu.ToString();
                        txtdireccion.Text = usu.Direccion_Usu.ToString();

                        }
            }
        }

        protected void btnguardar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
            UsuarioServicio serviciousuario = new UsuarioServicio();
            try
            {
                   
                if (hdfidusuario.Value != "")
                {
                    Usuario usu = serviciousuario.Buscar(Convert.ToInt32(hdfidusuario.Value));
                    usu.Pass_Usu = txtpassword.Text;
                    usu.Nombre_Usu = txtnombre.Text;
                    usu.Telefono_Usu =Convert.ToInt64(txttelefono.Text);
                    usu.Celular_Usu = Convert.ToInt64(txtcelular.Text);
                    usu.Mail_Usu = txtmail.Text;
                    usu.Direccion_Usu = txtdireccion.Text;
                    if (ddlestado.SelectedItem.Text == "Activo")
                    {
                        usu.Estado_Usu = true;
                    }
                    else
                    {
                        usu.Estado_Usu = false;
                       
                    }

                    if (ddlusuario.SelectedItem.Text== "Administrador")
                    {
                        usu.Tipo_Usu  = 0;
                    }
                    else
                    {
                        usu.Tipo_Usu  = 1;

                    } 
                    serviciousuario.ModificarUsu(usu);
                    //aca armar usuario
                    String html = "";
                    html = "<SCRIPT>";
                    html += " alert('Usuario Modificado con éxito.');";
                    html += "</SCRIPT>";
                    Response.Write(html);

                }
                else
                {
                    Usuario usu = new Usuario();
                    usu.Pass_Usu = txtpassword.Text;
                    usu.Nombre_Usu = txtnombre.Text;
                    usu.Telefono_Usu =Convert.ToInt64(txttelefono.Text);
                    usu.Celular_Usu = Convert.ToInt64(txtcelular.Text);
                    usu.Mail_Usu = txtmail.Text;
                    usu.Direccion_Usu = txtdireccion.Text;
                    if ((ddlestado.SelectedItem.Value)== "Activo")
                   
                    {
                        usu.Estado_Usu = true;
                    }
                    else
                    {
                        usu.Estado_Usu = false;

                    }

                    if ((ddlusuario.SelectedItem.Text) == "Administrador")
                    {
                       usu.Tipo_Usu = 0;
                    }
                    else
                    {
                        usu.Tipo_Usu = 1;

                    }
                                    
                    serviciousuario.AgregarUsu(usu);
                    String html = "";
                    html = "<SCRIPT>";
                    html += " alert('Usuario Agregado con éxito.');";
                    html += "</SCRIPT>";
                    Response.Write(html);
                }
                if (Session["Tipo_Usuario"] == "Administrador")
                {
                    Response.Redirect("Administrarusuario.aspx");
                }
                else
                {
                    Response.Redirect("Index.aspx");
                }
            }

            catch (Exception ex)
                {
                String html = "";
                html = "<SCRIPT>";
                html += " alert('Error: " + ex.Message + "');";
                html += "</SCRIPT>";
                Response.Write(html);
                }


            }
        }

        protected void btnprincipal_Click(object sender, EventArgs e)
        {
            Response.Redirect("Principal.aspx");
        }
    }
}
